package com.cnap.model.strategy.schedule;

import com.cnap.model.schedule.engine.alg.AlgDeployClusterInfo;

import java.util.List;

/**
 * 调度策略展示类
 *
 * @author xc
 **/
public class ScheduleStrategyVO {
    private String id;
    private String serviceId;
    // load 不为null则说明启用
    private LoadStrategyDTO load;
    // energy 不为null则说明启用
    private EnergyStrategyDTO energy;
    // cost 不为null则说明启用
    private CostStrategyDTO price;
    // sla 不为null则说明启用
    private SLAStrategyDTO sla;

    // 智能决策，1：生效，0：不生效
    private int intelligentScheduleActive;
    // 智能周期
    private int intelligentDuration;

    // 用户选择
    private String userChooseCloud;
    // 算法推荐
    private String recommendCloud;
    // 详细信息
    private List<AlgDeployClusterInfo> algDeployClusterInfos;
    // 创建时间
    private long createTime;
    // 业务场景
    private BusinessScene businessScene;
    // 用户选择云账户
    private String userChooseAccountName;
    // 推荐云账户
    private String recommendAccountName;

    /**
     * get
     *
     * @return UserChooseAccountName
     */
    public String getUserChooseAccountName() {
        return userChooseAccountName;
    }

    /**
     * set
     *
     * @param userChooseAccountName userChooseAccountName
     */
    public void setUserChooseAccountName(String userChooseAccountName) {
        this.userChooseAccountName = userChooseAccountName;
    }

    /**
     * get
     *
     * @return RecommendAccountName
     */
    public String getRecommendAccountName() {
        return recommendAccountName;
    }

    /**
     * set
     *
     * @param recommendAccountName recommendAccountName
     */
    public void setRecommendAccountName(String recommendAccountName) {
        this.recommendAccountName = recommendAccountName;
    }

    /**
     * get
     *
     * @return BusinessScene
     */
    public BusinessScene getBusinessScene() {
        return businessScene;
    }

    /**
     * set
     *
     * @param businessScene businessScene
     */
    public void setBusinessScene(BusinessScene businessScene) {
        this.businessScene = businessScene;
    }

    /**
     * get
     *
     * @return IntelligentDuration
     */
    public int getIntelligentDuration() {
        return intelligentDuration;
    }

    /**
     * set
     *
     * @param intelligentDuration intelligentDuration
     */
    public void setIntelligentDuration(int intelligentDuration) {
        this.intelligentDuration = intelligentDuration;
    }

    /**
     * get
     *
     * @return CreateTime
     */
    public long getCreateTime() {
        return createTime;
    }

    /**
     * set
     *
     * @param createTime createTime
     */
    public void setCreateTime(long createTime) {
        this.createTime = createTime;
    }

    /**
     * get
     *
     * @return Id
     */
    public String getId() {
        return id;
    }

    /**
     * set
     *
     * @param id id
     */
    public void setId(String id) {
        this.id = id;
    }

    /**
     * get
     *
     * @return ServiceId
     */
    public String getServiceId() {
        return serviceId;
    }

    /**
     * set
     *
     * @param serviceId serviceId
     */
    public void setServiceId(String serviceId) {
        this.serviceId = serviceId;
    }

    /**
     * get
     *
     * @return Load
     */
    public LoadStrategyDTO getLoad() {
        return load;
    }

    /**
     * set
     *
     * @param load load
     */
    public void setLoad(LoadStrategyDTO load) {
        this.load = load;
    }

    /**
     * get
     *
     * @return Energy
     */
    public EnergyStrategyDTO getEnergy() {
        return energy;
    }

    /**
     * set
     *
     * @param energy energy
     */
    public void setEnergy(EnergyStrategyDTO energy) {
        this.energy = energy;
    }

    /**
     * get
     *
     * @return Price
     */
    public CostStrategyDTO getPrice() {
        return price;
    }

    /**
     * set
     *
     * @param price price
     */
    public void setPrice(CostStrategyDTO price) {
        this.price = price;
    }

    /**
     * get
     *
     * @return Sla
     */
    public SLAStrategyDTO getSla() {
        return sla;
    }

    /**
     * set
     *
     * @param sla sla
     */
    public void setSla(SLAStrategyDTO sla) {
        this.sla = sla;
    }

    /**
     * get
     *
     * @return IntelligentScheduleActive
     */
    public int getIntelligentScheduleActive() {
        return intelligentScheduleActive;
    }

    /**
     * set
     *
     * @param intelligentScheduleActive intelligentScheduleActive
     */
    public void setIntelligentScheduleActive(int intelligentScheduleActive) {
        this.intelligentScheduleActive = intelligentScheduleActive;
    }

    /**
     * get
     *
     * @return UserChooseCloud
     */
    public String getUserChooseCloud() {
        return userChooseCloud;
    }

    /**
     * set
     *
     * @param userChooseCloud userChooseCloud
     */
    public void setUserChooseCloud(String userChooseCloud) {
        this.userChooseCloud = userChooseCloud;
    }

    /**
     * get
     *
     * @return RecommendCloud
     */
    public String getRecommendCloud() {
        return recommendCloud;
    }

    /**
     * set
     *
     * @param recommendCloud recommendCloud
     */
    public void setRecommendCloud(String recommendCloud) {
        this.recommendCloud = recommendCloud;
    }

    /**
     * get
     *
     * @return AlgDeployClusterInfos
     */
    public List<AlgDeployClusterInfo> getAlgDeployClusterInfos() {
        return algDeployClusterInfos;
    }

    /**
     * set
     *
     * @param algDeployClusterInfos algDeployClusterInfos
     */
    public void setAlgDeployClusterInfos(List<AlgDeployClusterInfo> algDeployClusterInfos) {
        this.algDeployClusterInfos = algDeployClusterInfos;
    }
}
